package model;
/**
 *
 * @author Alvin & Roy
 */
public class Opties {
    /** aantal moeilijkheden */
    private final static int aantalMoeilijkheden = 9;
    /** show path */
    private static boolean showPath;

    /** veldgrootte x */
    private static int xSize;

    /** veldgrootte y */
    private static int ySize;

    /** aantal beweegbare obstakels */
    private static int bObstakels;

    /** aantal onbeweegbare obstakels */
    private static int oObstakels;

    /** aantal vijanden */
    private static int aantalVijanden;

    /** snelheid van de vijand */
    private static int vijandSnelheid;

    /** aantal nootjes */
    private static int aantalNootjes;

    /** moeilijkheidsgraad */
    private static int moeilijkheidsgraad;

    /** wel of geen randen om de wereld */
    private static boolean randen;

    /**
     * Haal de randen variabele op
     * @return True als er randen zijn
     */
    public static boolean getRanden(){
        return randen;
    }

    /**
     * Stel in of de wereld randen heeft
     * @param r True als de wereld randen heeft
     */
    public static void setRanden(boolean r){
        randen = r;
    }

    /**
     * Haal het aantal moeilijkheden op (final)
     * @return Het aantal moeilijkheden
     */
    public static int getAantalMoeilijkheden(){
        return aantalMoeilijkheden;
    }

    /**
     * Stel de moeilijkheidsgraad in
     * @param m De moeilijkheidsgraad
     */
    public static void setMoeilijkheidsgraad(int m){
        moeilijkheidsgraad = m;

        switch(moeilijkheidsgraad){
            case 1: //Mag ik spelen?
                setAantalVijanden(1);
                setVijandSnelheid(1000);
                setAantalNootjes(10);
                setBObstakels(225);
                setOObstakels(25);
                break;
            case 2: //Ik ben te jong om te sterven
                setAantalVijanden(1);
                setVijandSnelheid(1000);
                setAantalNootjes(5);
                setBObstakels(150);
                setOObstakels(50);
                break;
            case 3: //Doe me geen pijn
                setAantalVijanden(1);
                setVijandSnelheid(500);
                setAantalNootjes(5);
                setBObstakels(150);
                setOObstakels(50);
                break;
            case 4: //Hey, niet te hard!
                setAantalVijanden(2);
                setVijandSnelheid(500);
                setAantalNootjes(5);
                setBObstakels(150);
                setOObstakels(50);
                break;
            case 5: //Kom maar op
                setAantalVijanden(2);
                setVijandSnelheid(500);
                setAantalNootjes(3);
                setBObstakels(100);
                setOObstakels(30);
                break;
            case 6: //Te moeilijk
                setAantalVijanden(3);
                setVijandSnelheid(500);
                setAantalNootjes(3);
                setBObstakels(100);
                setOObstakels(30);
                break;
            case 7: //Super gevaarlijk
                setAantalVijanden(3);
                setVijandSnelheid(200);
                setAantalNootjes(2);
                setBObstakels(50);
                setOObstakels(30);
                break;
            case 8: //Nachtmerrie
                setAantalVijanden(5);
                setVijandSnelheid(100);
                setAantalNootjes(25);
                setBObstakels(50);
                setOObstakels(30);
                break;
            case 9: //Pindakaazzz
                setAantalVijanden(1);
                setVijandSnelheid(400);
                setAantalNootjes(20);
                setBObstakels(0);
                setOObstakels(0);
                break;

        }

    }

    /**
     * Haal de huidige moeilijkheidsgraad op
     * @return De huidige moeilijkheidsgraad
     */
    public static int getMoeilijkheidsgraad(){
        return moeilijkheidsgraad;
    }

    /**
     * Haal het aantal nootjes op
     * @return Het aantal nootjes
     */
    public static int getAantalNootjes(){
        return aantalNootjes;
    }

    /**
     * Stel het aantal nootjes in
     * @param n Het aantal nootjes
     */
    public static void setAantalNootjes(int n){
        aantalNootjes = n;
    }

    /**
     * Haal de snelheid van de vijand op
     * @return De snelheid van de vijand
     */
    public static int getVijandSnelheid(){
        return vijandSnelheid;
    }

    /**
     * Stel de snelheid van de vijand in
     * @param s De snelheid van de vijand
     */
    public static void setVijandSnelheid(int s){
        vijandSnelheid = s;
    }

    /**
     * Haal het aantal vijanden op
     * @return Het aantal vijanden
     */
    public static int getAantalVijanden(){
        return aantalVijanden;
    }

    /**
     * Stel het aantal vijanden in
     * @param aV Het aantal vijanden
     */
    public static void setAantalVijanden(int aV){
        aantalVijanden = aV;
    }

    /**
     * Haal showpath op
     * @return Showpath
     */
    public static boolean getShowPath(){
        return showPath;
    }

    /**
     * Stel showpath in
     * @param s Showpath
     */
    public static void setShowPath(boolean s){
        showPath = s;
    }

    /**
     * Haal de x grootte van het veld op
     * @return De x grootte
     */
    public static int getXSize(){
        return xSize;
    }

    /**
     * Stel de x grootte van het veld in
     * @param x De x grootte
     */
    public static void setXSize(int x){
        xSize = x;
    }

    /**
     * Haal de y grootte van het veld op
     * @return De y grootte
     */
    public static int getYSize(){
        return ySize;
    }

    /**
     * Stel de y grootte van het veld in
     * @param y De y grootte
     */
    public static void setYSize(int y){
        ySize = y;
    }

    /**
     * Haal het aantal beweegbare obstakels op
     * @return Het aantal beweegbare obstakels
     */
    public static int getBObstakels(){
        return bObstakels;
    }

    /**
     * Stel heet aantal beweegbare obstakels in
     * @param b Het aantal beweegbare obstakels
     */
    public static void setBObstakels(int b){
        bObstakels = b;
    }

    /**
     * Haal het aantal onbeweegbare obstakels op
     * @return Het aantal onbeweegbare obstakels
     */
    public static int getOObstakels(){
        return oObstakels;
    }

    /**
     * Stel het aantal onbeweegbare obstakels in
     * @param o Het aantal onbeweegbare obstakels
     */
    public static void setOObstakels(int o){
        oObstakels = o;
    }
}
